home *** CD-ROM | disk | FTP | other *** search
- /*
- * $VER: softborder 0.6
- * by Carl Licke / Turbid design
- * mailto:carl.licke@swipnet.se
- * http://home2.swipnet.se/~w-24653/
- *
- * Arexx script for ImageFX
- */
-
- OPTIONS RESULTS
-
- gauss =GETCLIP('softborder_gauss')
- border =GETCLIP('softborder_border')
- shade =GETCLIP('softborder_shade')
- incr =GETCLIP('softborder_incr')
- bgswap =GETCLIP('softborder_bgswap')
- bgcol =GETCLIP('softborder_bgcol')
- mgik =GETCLIP('softborder_mgik')
-
- /* ------ here you may change the defaults ------ */
- IF gauss='' THEN gauss=2
- IF border='' THEN border=15
- IF shade='' THEN shade=100
- IF incr='' THEN incr=5
- IF bgswap='' THEN bswap=0
- IF bgcol='' THEN bgcol=0
- IF mgik='' THEN mgik=0
-
- Gadget.1 = 'I/140/18/smoothness (0-5)/'gauss
- Gadget.2 = 'I/140/35/border size/'border
- Gadget.3 = 'I/140/52/shade (0-100)/'shade
- Gadget.4 = 'I/140/69/border increase/'incr
- Gadget.5 = 'X/230/19/magic scissors/'mgik
- Gadget.6 = 'X/230/36/background from swap/'bgswap
- Gadget.7 = 'X/230/53/pick color for backg./'bgcol
- Gadget.8 = 'X/230/70/save these settings/1'
-
- ComplexRequest '"softborder"' 8 Gadget 430 110
- IF rc ~= 0 THEN EXIT
-
- gauss = result.1
- border = result.2
- shade = result.3
- incr = result.4
- mgik = result.5
- bgswap = result.6
- bgcol = result.7
- saveit = result.8
-
- ifxver=0
- ADDRESS COMMAND 'list ImageFX:Matrix/GuassianLow ImageFX:Matrix/GaussianMedium ImageFX:Matrix/GuassianHigh >NIL:'
- IF rc = 0 THEN ifxver=1
- ADDRESS COMMAND 'list ImageFX:Storage/Convolve/GaussianLow ImageFX:Storage/Convolve/GaussianMedium ImageFX:Storage/Convolve/GaussianHigh >NIL:'
- IF rc = 0 THEN ifxver=2
- IF ifxver=0 THEN DO
- RequestNotify 'Error! Please contact carl.licke@swipnet.se'
- EXIT
- END
-
- IF saveit=1 THEN DO
- CALL SETCLIP('softborder_gauss', gauss)
- CALL SETCLIP('softborder_border', border)
- CALL SETCLIP('softborder_shade', shade)
- CALL SETCLIP('softborder_incr', incr)
- CALL SETCLIP('softborder_mgik', mgik)
- CALL SETCLIP('softborder_bgswap', bgswap)
- CALL SETCLIP('softborder_bgcol', bgcol)
- END
-
- bgr=255
- bgg=255
- bgb=255
-
- GetPalette '0'
- PARSE VAR result r g b
-
- IF bgcol=1 & bgswap=1 THEN DO
- RequestNotify 'No background pick, you told me to use swap.'
- bgcol=0
- END
-
- IF bgcol=1 THEN DO
- ActiveColor 0
- Message 'pick background color'
- Pick
- WaitFor SELECTUP
- GetPalette '-1'
- PARSE VAR result bgr bgg bgb
- Message ''
- END
-
- Redraw Off
-
- Swap
- SaveBufferAs ILBM "T:softbordertemp.ilbm"
- Swap
- SaveAlphaAs ILBM "T:softborderalphatemp.ilbm"
-
- ActiveColor 0
- DrawMode Normal
- Pen 0 1
- AlphaChannel Off
- Blend 100
- EdgeMode Normal 0
- Transparency 0 0 1
- FillMode Solid 0 0 0 SMOOTH
- SaveUndo
- Undo Off
-
- GetMain
- PARSE VAR result name width height depth
-
- newwidth=width+(2*incr)
- newheight=height+(2*incr)
-
- IF mgik=1 THEN
- MagicScissors
- ELSE
- Scissors
- Box 0 0 width height
- Region Full
- CreateBuffer newwidth newheight+8 127 127 127 FORCE
-
- NewArea
- AddArea newwidth/2 newheight/2
- FreeDraw
-
- Buffer2Swap
-
- Region Brush
- Brightness 127
- Brightness 127
- Region Full
- ClearBuffer 0 0 0 FORCE
-
- DrawMode Normal
- EdgeMode FeatherIn border
- NewArea
- AddArea newwidth/2 newheight/2
- FreeDraw
- EdgeMode Normal 0
- DrawMode Normal
-
- IF ifxver=1 THEN DO
- IF gauss=1 THEN DO
- Convolve "Matrix/GuassianLow"
- END
- IF gauss=2 THEN DO
- Convolve "Matrix/GaussianMedium"
- END
- IF gauss=3 THEN DO
- Convolve "Matrix/GuassianHigh"
- END
- IF gauss=4 THEN DO
- Convolve "Matrix/GuassianHigh"
- Convolve "Matrix/GuassianHigh"
- END
- IF gauss=5 THEN DO
- Convolve "Matrix/GuassianHigh"
- Convolve "Matrix/GuassianHigh"
- Convolve "Matrix/GuassianHigh"
- END
- END
-
- IF ifxver=2 THEN DO
- IF gauss=1 THEN DO
- Convolve "Storage/Convolve/GaussianLow"
- END
- IF gauss=2 THEN DO
- Convolve "Storage/Convolve/GaussianMedium"
- END
- IF gauss=3 THEN DO
- Convolve "Storage/Convolve/GaussianHigh"
- END
- IF gauss=4 THEN DO
- Convolve "Storage/Convolve/GaussianHigh"
- Convolve "Storage/Convolve/GaussianHigh"
- END
- IF gauss=5 THEN DO
- Convolve "Storage/Convolve/GaussianHigh"
- Convolve "Storage/Convolve/GaussianHigh"
- Convolve "Storage/Convolve/GaussianHigh"
- END
- END
-
- Crop 0 0 newwidth newheight
-
- Buffer2Alpha
-
- ClearBuffer bgr bgg bgb FORCE
-
- IF bgswap=1 THEN DO
- LoadBrush "T:softbordertemp.ilbm" FORCE
- FillMode Tile 0 0 0 Smooth
- FloodFill 0 0 1
- FillMode Solid 0 0 0 Smooth
- END
-
- Merge shade ALPHA
-
- Swap
- LoadBuffer "T:softbordertemp.ilbm" FORCE
- Swap
- ADDRESS COMMAND 'Delete "T:softbordertemp.ilbm" QUIET'
- KillBrush
- KillAlpha
- LoadAlpha "T:softborderalphatemp.ilbm" Force
- ADDRESS COMMAND 'Delete "T:softborderalphatemp.ilbm" QUIET'
- SetPalette 0 r g b
- Redraw On
- Undo On
-
- EXIT
-